FIG. 1 (Prior Art) is a simplified diagram of a conventional consumer market high-resolution digital still camera 1. Conventional consumer market digital cameras have several different architectures, but the architecture illustrated in FIG. 1 is a representative one. In addition to other parts of camera 1 that are not shown here, camera 1 includes a charge coupled device (CCD) image sensor 2, an image processing integrated circuit 3, a random access memory (RAM) buffer 4, and an amount of nonvolatile storage 5. Image processing integrated circuit 3 includes a digital signal processor (DSP) 6 and a JPEG compression engine 7. Nonvolatile storage 5 may, for example, be flash memory that is part of the camera, may be flash memory that is removable from the camera, or may be a combination of the two. Nonvolatile storage 5 may also be another type of nonvolatile storage such as, for example, a miniature hard disk. RAM buffer 4 may, for example, be an SDRAM (synchronous dynamic random access memory).
A significant selling feature of consumer market digital still cameras is the resolution of the pictures the camera takes. The camera may, for example, be advertised to have a five megapixel resolution. In addition to resolution, it is a significant selling feature for a current consumer market digital still camera to be able to take a burst of still images at the camera's highest resolution. In one example, the user presses down the shutter button on the camera and holds it down, thereby putting the camera into a burst mode. The camera then captures a sequence of high resolution images. In the present example, each image is a five megapixel picture. An image is captured by CCD image sensor 2, and is transferred pixel by pixel in the form of Bayer data from image sensor 2 and through a part of integrated circuit 3 and is stored into RAM buffer 4. This is illustrated by arrow 12.
Once the image is present in RAM buffer 4, the image data is read back out of RAM buffer 4 and is processed by DSP image processor 6. One task typically performed by DSP processor 6 is the conversion of the image data from Bayer format to another format (for example, RGB or YUV). Other tasks such as gamma correction are also typically performed. The DSP processor 6 may also provide the ability to magnify a part of the image. This is often called a zoom function. Other image processing functions are also typically performed.
After the image is image processed by DSP processor 6, processed image information passes to JPEG compression engine 7. JPEG compression engine 7 compresses the image information so that the image can be stored in a fewer number of bits. The resulting compressed image is then written into nonvolatile storage 5 in the form of a JPEG file. The flow of image data from RAM buffer 4 through image processing and JPEG compression and into nonvolatile storage 5 is illustrated by arrow 13.
The throughput in frames per second that DSP processor 6 and JPEG compression engine 7 can process is less than the maximum frame capture rate of image sensor 2. Because images of Bayer data are output from image sensor 2 at the maximum frame capture rate, Bayer data accumulates in RAM buffer 4. The amount of Bayer data in RAM buffer 4 increases as the capturing of images in burst mode continues. Depending on the amount of RAM buffer 4 provided on the camera, RAM buffer 4 eventually becomes full. In the present example of a conventional consumer market camera, RAM buffer 4 holds a maximum of five full resolution images in Bayer format, where each five megapixel Bayer image consumes approximately ten megabytes of RAM space (because each pixel is stored in a sixteen-bit location).
Once RAM buffer 4 is full, subsequent images cannot be stored into RAM buffer 4. DSP image processor 6 and JPEG compression engine 7 must first do enough processing to free enough memory space in RAM buffer 4 to accommodate the storage of another image of Bayer data. In the conventional camera 1 of FIG. 1, this takes about two seconds.
FIG. 2 (Prior Art) is a simplified time line that illustrates this burst mode operation. The user presses the shutter button at time 8. Five images are captured in rapid succession 9 until RAM buffer 4 becomes full at time 10. There is then a two second delay 11 in which images cannot be captured by camera 1. This is undesirable.
Consider the situation in which a user of camera 1 is a parent watching his or her child playing baseball. The child hits the ball and runs toward first base. The parent wishes to catch the whole experience in high resolution images, and then later to select a few of the most interesting images for display and long term use. The parent therefore presses the shutter button down and holds it, placing the camera in burst mode. The camera takes five high-resolution images in rapid succession as desired, but then stalls due to RAM buffer 4 being full of unprocessed Bayer data. At this time the child is declared safe at first, but the image of the moment at which the child was declared safe is not captured. The opportunity to take this image is forever lost. This is an undesirable aspect of conventional consumer market digital cameras. A solution is desired.